package org.jsola.hr.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @author lyh
 */

@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "社保统计页面顶部总计")
@Data
public class SocAmountVO extends BaseVO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = "年")
    private BigDecimal year;

    @ApiModelProperty(notes = "月")
    private BigDecimal month;

    @ApiModelProperty(notes = "社保总计")
    private BigDecimal socAmount;

    @ApiModelProperty(notes = "较上月社保总计")
    private BigDecimal beforeSocAmount;

    @ApiModelProperty(notes = "公积金总计")
    private BigDecimal pfAmount;

    @ApiModelProperty(notes = "较上月公积金总计")
    private BigDecimal beforePfAmount;

    @ApiModelProperty(notes = "社保公司金额")
    private BigDecimal companySocAmount;

    @ApiModelProperty(notes = "较上月社保公司金额")
    private BigDecimal beforeCompanySocAmount;

    @ApiModelProperty(notes = "公积金公司金额")
    private BigDecimal companyPfAmount;

    @ApiModelProperty(notes = "较上月公积金公司金额")
    private BigDecimal beforeCompanyPfAmount;

    @ApiModelProperty(notes = "个人社保金额")
    private BigDecimal personalSocAmount;

    @ApiModelProperty(notes = "较上月个人社保金额")
    private BigDecimal beforePersonalSocAmount;

    @ApiModelProperty(notes = "个人公积金金额")
    private BigDecimal personalPfAmount;

    @ApiModelProperty(notes = "较上月个人公积金金额")
    private BigDecimal beforePersonalPfAmount;

    @ApiModelProperty(notes = "参保人次")
    private Integer empSocInfoCount;

    @ApiModelProperty(notes = "较上月参保人次")
    private Integer beforeEmpSocInfoCount;

    @ApiModelProperty(notes = "增员")
    private Long increment;

    @ApiModelProperty(notes = "减员")
    private Long revoke;

    @ApiModelProperty(notes = "较上月增员")
    private Long beforeIncrement;

    @ApiModelProperty(notes = "较上月减员")
    private Long beforeRevoke;

    @ApiModelProperty(notes = "参保地统计")
    private List <SocCityAndProgStatisticalVO> socCityStatistical;

    @ApiModelProperty(notes = "参保方案统计")
    private List <SocCityAndProgStatisticalVO> socProgStatistical;

    @ApiModelProperty(notes = "参保地数量")
    private Integer socCityCount;

    @ApiModelProperty(notes = "参保方案数量")
    private Integer socProgCount;

    @ApiModelProperty(notes = "社保的各项金额")
    private Map<String, BigDecimal> socDetail;

    @ApiModelProperty(notes = "社保的各项金额与上月的差值")
    private Map<String, BigDecimal> socDetailDifference;

    @ApiModelProperty(notes = "用工单位数量")
    private Integer companyCount;

    @ApiModelProperty(notes = "用工单位名称")
    private String companyName;

    @ApiModelProperty(notes = "分公司名称")
    private String childCompanyName;



}
